package cn.wgx.modules.sys.entity;

import cn.wgx.modules.base.entity.BaseEntityTree;

import java.io.Serializable;
import java.util.Date;

/**
 * Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
 * Description:
 * 字典表
 *
 * @author
 */
public class SysDict extends BaseEntityTree implements Serializable {

    /**
     * 更新时间
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Date updateDate;

    /**
     * 数据中文
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String v;

    /**
     * 父级编号(拓展使用)
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Integer parentId;

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private static final long serialVersionUID = 1L;

    /**
     * 创建者
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Integer createUserId;

    /**
     * 父级key(拓展使用)
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String parentKey;

    /**
     * 编号
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Integer dict_id;

    /**
     * 排序（升序）
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Integer sort;

    /**
     * 描述
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String description;

    /**
     * 数据类型
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String type;

    /**
     * 更新者
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Integer updateUserId;

    /**
     * 备注信息
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String remarks;

    /**
     * 数据值
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String k;

    /**
     * 拓展数据
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private String extendValue;

    /**
     * 创建时间
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    private Date createDate;

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withUpdateDate(Date updateDate) {
        this.setUpdateDate(updateDate);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.createDate
     *
     * @return the value of cgcenter..sys_dict.createDate
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withK(String k) {
        this.setK(k);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.remarks
     *
     * @return the value of cgcenter..sys_dict.remarks
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.parentId
     *
     * @param parentId the value for cgcenter..sys_dict.parentId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withType(String type) {
        this.setType(type);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.dict_id
     *
     * @return the value of cgcenter..sys_dict.dict_id
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Integer getDict_id() {
        return dict_id;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.updateDate
     *
     * @param updateDate the value for cgcenter..sys_dict.updateDate
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.sort
     *
     * @param sort the value for cgcenter..sys_dict.sort
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withSort(Integer sort) {
        this.setSort(sort);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.k
     *
     * @return the value of cgcenter..sys_dict.k
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getK() {
        return k;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withCreateUserId(Integer createUserId) {
        this.setCreateUserId(createUserId);
        return this;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.updateUserId
     *
     * @param updateUserId the value for cgcenter..sys_dict.updateUserId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setUpdateUserId(Integer updateUserId) {
        this.updateUserId = updateUserId;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.extendValue
     *
     * @return the value of cgcenter..sys_dict.extendValue
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getExtendValue() {
        return extendValue;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.sort
     *
     * @return the value of cgcenter..sys_dict.sort
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Integer getSort() {
        return sort;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.extendValue
     *
     * @param extendValue the value for cgcenter..sys_dict.extendValue
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setExtendValue(String extendValue) {
        this.extendValue = extendValue;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withExtendValue(String extendValue) {
        this.setExtendValue(extendValue);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.parentKey
     *
     * @return the value of cgcenter..sys_dict.parentKey
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getParentKey() {
        return parentKey;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.v
     *
     * @param v the value for cgcenter..sys_dict.v
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setV(String v) {
        this.v = v;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getDict_id() == null) ? 0 : getDict_id().hashCode());
        result = prime * result + ((getK() == null) ? 0 : getK().hashCode());
        result = prime * result + ((getV() == null) ? 0 : getV().hashCode());
        result = prime * result + ((getExtendValue() == null) ? 0 : getExtendValue().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getSort() == null) ? 0 : getSort().hashCode());
        result = prime * result + ((getParentId() == null) ? 0 : getParentId().hashCode());
        result = prime * result + ((getParentKey() == null) ? 0 : getParentKey().hashCode());
        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
        result = prime * result + ((getCreateDate() == null) ? 0 : getCreateDate().hashCode());
        result = prime * result + ((getUpdateUserId() == null) ? 0 : getUpdateUserId().hashCode());
        result = prime * result + ((getUpdateDate() == null) ? 0 : getUpdateDate().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        return result;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.type
     *
     * @return the value of cgcenter..sys_dict.type
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getType() {
        return type;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.remarks
     *
     * @param remarks the value for cgcenter..sys_dict.remarks
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.createUserId
     *
     * @return the value of cgcenter..sys_dict.createUserId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Integer getCreateUserId() {
        return createUserId;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.type
     *
     * @param type the value for cgcenter..sys_dict.type
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.description
     *
     * @param description the value for cgcenter..sys_dict.description
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withDescription(String description) {
        this.setDescription(description);
        return this;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withDict_id(Integer dict_id) {
        this.setDict_id(dict_id);
        return this;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withParentKey(String parentKey) {
        this.setParentKey(parentKey);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.updateDate
     *
     * @return the value of cgcenter..sys_dict.updateDate
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SysDict other = (SysDict) that;
        return (this.getDict_id() == null ? other.getDict_id() == null : this.getDict_id().equals(other.getDict_id())) && (this.getK() == null ? other.getK() == null : this.getK().equals(other.getK())) && (this.getV() == null ? other.getV() == null : this.getV().equals(other.getV())) && (this.getExtendValue() == null ? other.getExtendValue() == null : this.getExtendValue().equals(other.getExtendValue())) && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType())) && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription())) && (this.getSort() == null ? other.getSort() == null : this.getSort().equals(other.getSort())) && (this.getParentId() == null ? other.getParentId() == null : this.getParentId().equals(other.getParentId())) && (this.getParentKey() == null ? other.getParentKey() == null : this.getParentKey().equals(other.getParentKey())) && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId())) && (this.getCreateDate() == null ? other.getCreateDate() == null : this.getCreateDate().equals(other.getCreateDate())) && (this.getUpdateUserId() == null ? other.getUpdateUserId() == null : this.getUpdateUserId().equals(other.getUpdateUserId())) && (this.getUpdateDate() == null ? other.getUpdateDate() == null : this.getUpdateDate().equals(other.getUpdateDate())) && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()));
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.updateUserId
     *
     * @return the value of cgcenter..sys_dict.updateUserId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Integer getUpdateUserId() {
        return updateUserId;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.k
     *
     * @param k the value for cgcenter..sys_dict.k
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setK(String k) {
        this.k = k;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.createUserId
     *
     * @param createUserId the value for cgcenter..sys_dict.createUserId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setCreateUserId(Integer createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withCreateDate(Date createDate) {
        this.setCreateDate(createDate);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.parentId
     *
     * @return the value of cgcenter..sys_dict.parentId
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public Integer getParentId() {
        return parentId;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.dict_id
     *
     * @param dict_id the value for cgcenter..sys_dict.dict_id
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setDict_id(Integer dict_id) {
        this.dict_id = dict_id;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withV(String v) {
        this.setV(v);
        return this;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", dict_id=").append(dict_id);
        sb.append(", k=").append(k);
        sb.append(", v=").append(v);
        sb.append(", extendValue=").append(extendValue);
        sb.append(", type=").append(type);
        sb.append(", description=").append(description);
        sb.append(", sort=").append(sort);
        sb.append(", parentId=").append(parentId);
        sb.append(", parentKey=").append(parentKey);
        sb.append(", createUserId=").append(createUserId);
        sb.append(", createDate=").append(createDate);
        sb.append(", updateUserId=").append(updateUserId);
        sb.append(", updateDate=").append(updateDate);
        sb.append(", remarks=").append(remarks);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.createDate
     *
     * @param createDate the value for cgcenter..sys_dict.createDate
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withUpdateUserId(Integer updateUserId) {
        this.setUpdateUserId(updateUserId);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.description
     *
     * @return the value of cgcenter..sys_dict.description
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getDescription() {
        return description;
    }

    /**
     * This method sets the value of the database column cgcenter..sys_dict.parentKey
     *
     * @param parentKey the value for cgcenter..sys_dict.parentKey
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public void setParentKey(String parentKey) {
        this.parentKey = parentKey;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withParentId(Integer parentId) {
        this.setParentId(parentId);
        return this;
    }

    /**
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public SysDict withRemarks(String remarks) {
        this.setRemarks(remarks);
        return this;
    }

    /**
     * This method returns the value of the database column cgcenter..sys_dict.v
     *
     * @return the value of cgcenter..sys_dict.v
     *
     * @mbg.generated Wed Jul 24 14:18:23 CST 2019
     */
    public String getV() {
        return v;
    }
}
